我正在尝试找出我的用户中出生日期在1980到1996年之间的百分比。
我不知道该怎么做:
SELECT Sum
(WHEN userBirthDate BETWEEN '1980/01/01' AND '1996/12/31'
THEN 1 ELSE 0 END) * 100 / Count(userID) as total
FROM user
mysql返回的错误是语法:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to
我对mysql搜索的查询是:
$result = mysql_query("SELECT * FROM room_tb WHERE location ='{$location}' AND price BETWEEN '$minprice' AND '$maxprice' ")or die('Could not connect: ' . mysql_error()); ;
这使得一种强制同时输入位置和最低和最高价格的形式。我想要一个查询,可以使用户输入位置或最大价格和最小价格,以及允许用户通过两个字段进行搜索。我该怎
我有一个mysql函数
SELECT * FROM `stats` WHERE BETWEEN '2011-01-03' AND '2011-01-01' AND `email`='sarah@sarah.com' AND `city`='New York' AND `location`='New York' AND `date` GROUP BY action
但是我好像不能让它工作,如果我去掉了'2011-01-03‘和'2011-01-01’之间的,但没有把它放进去,它就可以工作了,我怎么能让
我需要自动编辑我的WHERE条件,在下面每三个月查询SQL,在MySQL数据库上执行
SELECT * FROM doTable WHERE QS = 'variable';
从1月1日至4月30日,SQL查询必须是:
SELECT * FROM doTable WHERE QS = 1;
从5月1日到8月31日,SQL查询必须是:
SELECT * FROM doTable WHERE QS = 2;
从9月1日至12月31日,SQL查询必须是:
SELECT * FROM doTable WHERE QS = 3;
有人知道怎么做吗?
提前感谢您的帮助。
编辑#1
mysq
我也读过另一个问题,但我没有找到确切的答案,所以请不要把它标记为重复。所以,我想要一个触发器来检查一个日期是否是一个有效的出生日期。因此,在乞讨时,我试图用birth_date<NOW()创建一个自定义约束,但显然我得到了一个错误
然后我试着用另一个问题上的触发器
CREATE OR REPLACE TRIGGER check_birth_date
BEFORE INSERT OR UPDATE ON employee
FOR EACH ROW
BEGIN
IF( :new.emp_dob < date '1900-01-01' or
:n
我有一个包含这个字段的通道(227个)的MySQL表,我创建了一个页面,其中包含了这个id, gener_id, channel_number, title ...查询的所有通道。
$result = $pdo->query("SELECT * FROM channels ORDER BY channel_number");
但我想排除从181个到227号到的频道,而不是本表中的显示。我该怎么做?
这里是我的全部代码
$result = $pdo->query("SELECT * FROM channels ORDER BY channel_number
我使用PHP和MySQL,从5个类别(id:1,2,3,4,5)获得文章,我使用这个MySQL查询:
select * from `articles` where `category` in(1,2,3,4,5)
可以分为5类,但1,000类怎么样?你能给我一些解决这个问题的想法吗,非常感谢。
注意:我想说的问题不是没有工作的查询,它的处理非常慢,有什么方法可以加快它吗?
我想从现在的datetime到未来的7天选择行,我该怎么做呢?读了很多关于mysql的日期函数,但还是搞不懂,这是MySQL代码:
SELECT id, date_format(datum, '%d/%m') AS date,
date_format(datum, '%H:%i') AS time, date
FROM wedstrijden
WHERE date >= now()
ORDER BY datum asc
我必须做一些事情:
date >= now() till 7 days further
在时间单位是任意的情况下,如何根据每单位时间的时间戳列来统计MySQL表中的记录数?
具体地说,我想要计算在给定的时间间隔内,有多少记录的时间戳落入15分钟的存储桶中。我了解如何使用MySQL日期函数在1秒、1分钟、1小时、1天等的存储桶中执行此操作,例如
SELECT YEAR(datefield) Y, MONTH(datefield) M, DAY(datefield) D, COUNT(*) Cnt FROM mytable GROUP BY YEAR(datefield), MONTH(datefield), DAY(datefield)
但是我怎么能按15分钟的时段分组呢?
这显示了所有的结果
但我只想显示,如果pserialno行在这里,那么它将显示。
我该怎么做?请帮帮我
$result1 = mysql_query("SELECT * FROM workorder where opendate BETWEEN '$a' AND '$b' order by opendate ASC");
while($row = mysql_fetch_array($result1))
{
// echo out the
组合这些mysql查询的正确语法是什么?
$reserved = mysql_query("Select * from reservations where $timestamp >= ReservationStart AND $timestamp <= ReservationEnd");
和
$reserved2 = mysql_query("Select * from reservations where $ReservationEnd >= ReservationStart AND $ReservationEnd <= Reservatio
这是显示当前月份的结果和
我想要下三个月的结果,我该怎么做呢?请帮我解决这个问题。
谢谢
代码
$result = mysql_query("SELECT * FROM register where
EXTRACT(YEAR_MONTH FROM `agreementdatee`) =
EXTRACT(YEAR_MONTH FROM CURRENT_DATE)
ORDER BY CAST(flatno as SIGNED INTEGER)
DESC LIMIT 4");
完整代码
<?php
$username =
我尝试使用我附近的位置列表执行MySQL查询(以最近的第一个位置排序)。我不知道该怎么做。我发现了这个有趣的帖子:
我觉得一切都很清楚。但是查询不起作用。我执行了以下SQL查询:
SELECT *, ($distance_formula) AS distance FROM restaurants
WHERE (geolatitude BETWEEN $lat_b1 AND $lat_b2)
AND (geolongitude BETWEEN $lng_b1 AND $lng_b2)
HAVING distance < $radius ORDER BY dis
您好,我对这个sum select有一些问题,有人知道这是怎么回事吗?似乎我没有得到任何结果
$result = mysql_query("SELECT SUM(total)
FROM table1 where date BETWEEN '".$date1." 00:00:00' AND '".$date2." 23:59:59' and username = ".$user."");
while($row=mysql_fetch_array($result))
{ $sum
我有一个包含城市、类( 1、2、3、4、5类)、开始日期和结束日期的MySQL数据库。我有一个web应用程序(PHP),我需要检查这个类是否在日期范围内匹配。
例如,演示表:
City Class StartDate EndDate
LA 1 2019-09-13 2019-10-29
SF 2 2019-09-13 2019-10-29
我需要查询这个数据库,以检查城市、类是否与日期之间的日期相匹配。
有什么方法可以用MySQL完成这一任务,然后将其传递给PHP吗?我该怎么做呢?
我可以以这种方式查
我正在尝试检索两个日期之间的所有记录,而MySQL查询正在用一个完全不同的日期返回记录。
我的疑问是
SELECT datecreated FROM TABLE_COMPLAINTS WHERE datecreated BETWEEN '01/08/2015' AND '24/08/2015'
该查询的结果如下:
如您所知,返回的日期不在SQL查询中指定的边界中。
我的问题是我该怎么解决这个问题?
我在MySQL数据库中有很多数据,为了理解这些数据,我希望每隔10分钟就把它们提取出来。
我可以从lap_times获取数据,但我不确定如何每隔10分钟提取一次数据,基本上我想执行以下操作(在//是伪代码之后)。
SHOW * FROM lap_times // WHERE time is between 1370880036 and 1370880636 ?
你知道我该怎么做吗?
我希望在WHERE子句中使用多个AND,但无法执行查询。过滤如下:
Select * from startstopdata WHERE date(start_work) BETWEEN '".$date1."' and '".$date2."' MySQL中的日期是日期时间类型,我只想在日期上应用搜索
Select * from startstopdata WHERE name='".$name."
Select * from startstopdata WHERE start_mac!=st
我有一个表'goods‘,有3列(id,name,price)。我需要通过I列表和价格范围来获取数据。
我使用这个查询:
SELECT id, name, price FROM goods
WHERE (id, price)
IN ((1,10), (3,20), (2,10))
ORDER BY FIELD(id, 1,3,2)
当我使用严格的价格值时,一切都很好。
实际上,我需要像这样做查询:
SELECT id, name, price FROM goods
WHERE (id, price)
IN ((1, BETWEEN 0 AND 100), (2, BETWEEN 50
我有一个从数据库中的表中选择所有数据行的查询。我使用PHP和MySQL。我希望只抓取从现在到两周前的行,而不是抓取表中的所有行。我该怎么做呢?我知道我需要添加一个WHERE子句
到目前为止我的代码:
$notifications_query= "SELECT * FROM notifications ORDER BY recieved DESC";
包含将要使用的日期的列被命名为'viewed‘,格式为'datetime’。
谢谢!
我在MYSQL DB中有一个类似如下的查询
SELECT date_format( doj, '%d/%m/%Y' ) AS week ,COUNT(user_id) FROm user_tb
WHERE doj between '2012-01-01' AND '2012-01-31' group BY WEEK(doj)
Result
week COUNT(user_id)
06/01/2012 3
17/01/2012 2
25/01/2012 3
29/01/2012 1
我怎么能这样命名呢?
week COUN
在一个查询中可以这样做吗?例如,我有一个名为log的表,其中包含以下列: id、epoch、username、msg。
我需要搜索来自某个用户的消息,如下所示:
select * from logs where username = 'bob'
现在,我希望在一定的时间范围内从该消息中选择来自bob的所有消息。
我知道在PHP中使用for循环可以很容易地做到这一点,但是我必须使用mySQL。
我原本想做这样的事情:
select * from logs where FROM_UNIXTIME(epoch) between
(select FROM_UNIXTIME(epoch)
我在MySQL数据库中有一个表,其中包含以下字段:
Name From_Date To_Date
Mr. Spencer 2018-09-01 2018-09-25
我喜欢记下他星期一工作的次数。例如,结果必须是4.2018-09-01到2018-09-25,这两个日期之间有4个星期一(09-03,09-10,09-17,09-24)
但我不知道该怎么做。也许有人能帮我。