我有一个查询,通过电子邮件以表格格式导出其结果,我真的想隐藏我的数据的第一行,以便它永远不会导出我的结果。
示例数据库表:
+------+--------+--------+
|Number|Language|Date |
+------+--------+--------+
|2039 |text 1 |20/01/14|
+------+--------+--------+
|1 |text 2 |20/01/14|
+------+--------+--------+
|2 |text 3 |20/01/14|
+------+--------+--------+
我目前使用的查询是:
SELECT
COUNT(*) as `count`, `lang`, DATE(NOW()) as `week_ending`
FROM
mydata.table
WHERE
`date` > DATE_ADD(DATE(NOW()), INTERVAL - 1 WEEK) AND
`date` < DATE(NOW())
GROUP BY `lang` , DATE(NOW());
是否可以隐藏行 2039 text 1 20/01/14
答案 0 :(得分:3)
SELECT COUNT(*) as `count`,`lang`, DATE(NOW()) as `week_ending` FROM mydata.table WHERE `date` > DATE_ADD(DATE(NOW()), INTERVAL -1 WEEK) AND `date` < DATE(NOW()) GROUP BY `lang`, DATE(NOW()) LIMIT 1,x;
将x替换为足以包含所有记录的数字。
或者使用,而不是x,18446744073709551615,这是大INT无符号的最大值。
答案 1 :(得分:0)
这取决于您认为哪一行首先出现,具体取决于订单。如果未指定订单,您通常会根据广告订单获取记录。
如果按降序按Number列排序,则添加where子句
WHERE Number < MAX(Number)
如果按升序排序,则添加where子句
WHERE Number > MIN(Number)
答案 2 :(得分:0)
在查询结束时使用LIMIT 1,N。
其中N是您要检索的行数。
答案 3 :(得分:0)
如果'number'是主键,您也可以使用以下查询获得相同的结果。
SELECT
COUNT(*) as 'count', t1.language, DATE(NOW()) as 'week_ending'
FROM
(select * from 'mydata.table') t1 left join
(select * from 'mydata.table' limit 1) t2 on t1.number = t2.number
where t2.number is null
And
t1.date > DATE_ADD(DATE(NOW()), INTERVAL - 1 WEEK)
AND t1.date < DATE(NOW())
GROUP BY t1.language , DATE(NOW());