选择指定日期的所有记录

时间:2016-08-23 07:36:34

标签: sql date

我在db中有一个名为table_food的表,其中包含列:first namelast namedatefood name。我想要一个从指定日期返回所有食品名称的查询。

例如我的表记录如下:

John Watson   2016-08-22   steak
John Watson   2016-08-22   burger
John Watson   2016-08-23   fries
John Watson   2016-08-23   apple  

我希望从2016-08-23获得所有食物名称。我应该如何创建我的查询?

4 个答案:

答案 0 :(得分:1)

这取决于您使用的数据库。 我还添加了一个独特的,因为我想你只需要不同的食物名称值。

对于MySql

 select distinct(food_name) from table_food 
 where date = '2016-08-23'

对于Oracle

select distinct(food_name) from table_food 
where date = to_date('2016-08-23', 'YYYY-MM-DD')

检查其他数据库的方言。

请注意,如果存储在日期列中的数据也包含小时,分钟和秒,则需要使用不同的查询来提取数据,例如在oracle中:

select distinct(food_name) from table_food 
where trunc(date) = to_date('2016-08-23', 'YYYY-MM-DD')

答案 1 :(得分:1)

我只是假设您正在使用MySQL数据库。其他数据库的答案可能有所不同。

有两种版本,具体取决于您想要获得的内容。

如果您只想要所有食物的清单,包括重复食物,您可以使用:

select food_name from table_food where date = '2016-08-23'

如果您只需要获得不同的值(每个食物名称一次),您可以使用:

select distinct(food_name) from table_food where date = '2016-08-23'

第一个问题可能是:已经提供了哪些餐点以及有多少餐? 第二个问题可能是:根本没有提供哪些餐点(无论多少次)

答案 2 :(得分:0)

curl -D- -u admin:admin -X POST -H "X-Atlassian-Token: nocheck" -F "file=@myfile.png" http://myhost/rest/api/2/issue/TEST-123/attachments

我改变日期的原因完全取决于您希望更改日期的时间。不要误解我上面你能做的任何一件事。我个人的偏好是调整变量而不是查询。

答案 3 :(得分:0)

当您需要从表中检索数据时,您必须在一个或多个条件下指定需要从哪个表中选择的字段。

由于您的病情是日期, 我们将使用以下语法: 如果您不需要冗余,我们添加了单词distinct。

$date = "2016-08-23";
SELECT * FROM `table_food` WHERE `date` = '{$date}';