【发布时间】:2010-02-07 15:38:09
【问题描述】:
我之前在另一个 Q 上从某人那里得到了这个答案,但我想对此进行解释,以便我完全理解这个问题。
我有一个表,其中有一列包含“私人”或“公司”的值。 问题是,我想检查我的记录中有多少“私人”和“公司”值,以便稍后在搜索结果中显示它们。 因此,如果有 4 个公司广告和 1 个私人广告,结果如下:
Company = 4
Private = 1
All ads = 5
这是我从某人那里得到的关于如何做到这一点的代码,换句话说,这就是我想要解释的:
SELECT
IFNULL( field , 'All ads' ) AS 'Type',
COUNT( * )
FROM
`table`
GROUP BY
field
WITH ROLLUP
谢谢
【问题讨论】:
-
对我来说看起来相当直接?你不明白哪一部分?
-
IFNULL (field, 'all ads') AS 'type', count(*) 部分
-
IFNULL(field, 'all ads') AS 'Type'只是轻微的美化,不会改变结果。将其替换为field以获得几乎完全相同的结果,但查询更简单,更易于理解。