【发布时间】:2021-04-19 02:47:53
【问题描述】:
我有一个如下查询。
SELECT
occupation AS 'Contact occupation',
sum(total) AS 'Quantity'
FROM
(
SELECT
CASE
WHEN contacts.occupation IS NULL THEN 'Other'
WHEN trim(contacts.occupation) = '' THEN 'Other'
ELSE contacts.occupation
END AS occupation, count(DISTINCT(concat(patients.id, '-', individual_appointments.practitioner_id))) AS total
FROM
individual_appointments
JOIN patients ON
patients.id = individual_appointments.patient_id
JOIN practitioners ON
practitioners.id = individual_appointments.practitioner_id
JOIN businesses ON
businesses.id = individual_appointments.business_id
JOIN referral_sources ON
referral_sources.patient_id = individual_appointments.patient_id
JOIN referral_source_types ON
referral_source_types.id = referral_sources.referral_source_type_id
LEFT JOIN contacts ON
referral_sources.referring_contact_id = contacts.id
WHERE
patients.created_at BETWEEN '2018-05-22' AND '2018-05-22'
AND CONVERT(NVARCHAR(100), referral_source_types.name) = 'Contact' [[
AND {{practitioner}}]] [[
AND {{clinic}}]]
AND isnull(individual_appointments.cancelled_at, '') = ''
AND individual_appointments.did_not_arrive <> 1
GROUP BY
contacts.occupation ) marketing_referrers
GROUP BY
occupation,
marketing_referrers.total
ORDER BY
total DESC;
当我提交类似以下patients.created_at BETWEEN '2018-05-22' AND '2018-05-22' 的日期时,它不会返回任何内容,但如果我输入BETWEEN '2018-05-22' patients.created_at 'AND' 2018-05-23',它会返回一个值。
我想如果我只输入两个相同的日期而不输入时间,那么时间将是00:00:00 - 00:00:00。
当我们输入两个相同的日期而不输入时间时如何读取00:00:00 - 23:59:59?
表格中的日期格式填写如下"Thursday, August 20, 2020, 9:49 AM",但只要输入日期即可读取,例如2020-08-20。
你的帮助对我很重要,谢谢
【问题讨论】:
-
为什么哦,你为什么不缩进任何东西???
-
使用
patients.created_at BETWEEN '2018-05-22 00:00:00' AND '2018-05-22 23:59:59'。如果设置了列的fsp,则根据小数部分添加上限,例如'2018-05-22 23:59:59.999'。 -
The date format in the table is filled as follows "Thursday, August 20, 2020, 9:49 AM"这句话我看不懂;至少,我希望我不会) -
@Strawberry 抱歉,我的意思是“2020 年 8 月 20 日,星期四,上午 9:49”是表中的数据值。数据类型为日期时间
-
@Akina 如果我们输入两个相同的日期而没有时间,还有其他方法吗?就像两个相同的日期,但可以读取 00:00:00 - 23:59:59 而无需输入时间?
标签: mysql sql date datetime time