sql1获取名称,sql2获取印象,我需要按印象对名称进行排序 [英] sql1 to get names and sql2 to get Impressions, I need to sort names by Impressions

查看:100
本文介绍了sql1获取名称,sql2获取印象,我需要按印象对名称进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,我有这个项目,我需要帮助我

Hello I have this Project and I need to help me

$sql1 = "SELECT COUNT(*) as num FROM table1 where column1='1'";

    $total_Results = mysql_fetch_array(mysql_query($sql1));

    $total_Results = $total_Results[num];

    while($row = mysql_fetch_array($sql1))

        {

$sql2="select distinct column1 from table2 where column2='".$row['id']."' and left(date,10) BETWEEN '".$datefrom."' AND '".$dateto."'";

$res=mysql_query($sql2);

}

sql1获取名称,sql2获取印象,我需要按印象对名称进行排序

sql1 to get names and sql2 to get Impressions, I need to sort names by Impressions

名称|展示次数DESC

name | Impressions DESC

A | 10

B | 8

C | 7

名称|展示次数ASC

name | Impressions ASC

C | 7

B | 8

A | 10

感谢您的关注

推荐答案

我将添加与上一个问题几乎相同的答案.您可以通过联接而不是单独的查询来完成所有操作;

I'll add almost the same answer as on your previous question. You can do it all in a join instead of separate queries;

SELECT t1.id as name, COUNT(DISTINCT t2.column1) Impressions
FROM table1 t1
LEFT JOIN table2 t2
  ON t1.id=t2.column2
WHERE t1.column1 = 1
  AND LEFT(date,10) BETWEEN '2013-01-01' AND '2013-12-31'
GROUP BY t1.id
ORDER BY Impressions DESC

要测试的SQLfiddle .

这篇关于sql1获取名称,sql2获取印象,我需要按印象对名称进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆