можешь мне помочь
$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."'"; }
Мне нужно отсортировать $ sql по количеству строк, спускающихся по $ sql2 по id
Если я правильно вас понимаю, вы хотите, чтобы результаты из $sql
упорядочивались по количеству строк, найденных по $sql2
для каждой строки в $sql
. Это соединение должно сделать это, оно присоединяется к таблице2 и порядку по счету, по убыванию.
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
SQLfiddle для тестирования .