隐藏数据库查询中的第一行

时间:2014-01-20 09:48:59

标签: mysql sql select

我有一个查询,通过电子邮件以表格格式导出其结果,我真的想隐藏我的数据的第一行,以便它永远不会导出我的结果。

示例数据库表:

+------+--------+--------+
|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

4 个答案:

答案 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());