php mysql按行数递减排序

时间:2013-05-12 11:39:24

标签: php mysql sorting distinct

你能帮帮我吗

$sql="select * from table1 where id='1,2,3,4'";
{
 $sql2="select distinct column1 from table2 where column2='".$row['id']."' and left(date,10) BETWEEN '".$date_from."' AND '".$date_to."'";
 }

我需要按 $ sql2 的行数降序 $ sql id

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望$sql的结果按$sql2$sql中每行找到的行数排序。这个连接应该这样做,它连接table2和order by count,下降。

SELECT t1.id
FROM table1 t1
LEFT JOIN table2 t2
  ON t1.id=t2.column2
WHERE id IN (1,2,3,4)                     -- should it really be = '1,2,3,4'?
  AND LEFT(date,10) BETWEEN '2013-01-01' AND '2013-12-31'
GROUP BY t1.id
ORDER BY COUNT(DISTINCT t2.column1) DESC

An SQLfiddle to test with