关于SQL Row升序

时间:2014-12-07 13:24:18

标签: php mysql row

我在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

请帮帮我

1 个答案:

答案 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