我在sql
中的数据库中有2 table
表1:
USER id | state| TYPE | time |
1 | 1 | 1 | time |
2 | 1 | 2 | time |
3 | 1 | 2 | time |
4 | 1 | 2 | time |
5 | 0 | 1 | time |
6 | 0 | 1 | time |
表2:
id |USER id| run
1 | 3 | 7
2 | 1 | 5
3 | 1 | 5
4 | 4 | 8
5 | 2 | 6
6 | 2 | 6
7 | 3 | 7
8 | 3 | 7
9 | 3 | 7
10 | 3 | 7
11 | 2 | 6
12 | 4 | 8
13 | 4 | 8
14 | 1 | 5
15 | 2 | 6
16 | 2 | 6
17 | 5 | 9
18 | 4 | 8
我正在打印
SELECT * FROM TABLE1 WHERE state != 0
它将以这种方式打印
USER ID 1
USER ID 2
USER ID 3
USER ID 4
但我希望ascending
by count
WHERE, Count = num of row of TABLE2
用户ID = 1或2或...... N
这里:
count of USER id 1 = 3
count of USER id 2 = 5
count of USER id 3 = 5
count of USER id 4 = 4
现在我想提升
表1从表2到高运行到低运行的高计数到低计数
USER ID 3
USER ID 2
USER ID 4
USER ID 1
使用PHP和MYSQLI
请帮帮我
答案 0 :(得分:2)
select t1.id, count(t2.id) as t2_count
from table1 t1
left join table2 t2 on t1.`user id` = t2.`user id`
group by t1.id
order by t2_count desc