如何只从具有多个相同值的数据库列中获取一个值?

时间:2015-12-11 20:07:06

标签: mysql coldfusion

我正在努力从表中的数据库输出值。我的表有5列:Date,FirstName,LastName,City,State。以下是我的数据库表的示例:

DateMeeting  FirstName LastName   City     State
2015-12-11    Mike     Johns     Dallas    TX
2015-12-11    John     Cook      Dallas    TX
2015-12-11    Nick     Roberts   Dallas    TX
2015-12-11    Oliver   Ryan      New York  NY
2015-12-11    Michael  Best      New York  NY
2015-12-11    David    Holmes    New York  NY   

所以我希望输出表只显示多个记录的一个日期。我尝试在日期使用DISTINCT,并且工作正常,但如果我为City和State包含我的WHERE子句,我的查询会中断。此外,我尝试使用GROUP BY但同样的问题,只要我不包含其他列,我只能获得一次Date值。在这种情况下,我需要所有列,但我的日期值只需要一次。这是我使用的查询:

Select Distinct(DateMeeting),FirstName, LastName, City, State
From Customers
Where City = 'Dallas'
and State = 'TX'

只有在运行DISTINCT(DateMeeting)时,此查询才能与我在select中的所有列一起使用。我想在表格中输出我的值,如下所示:

Date       First Name Last Name   City     State
              Mike     Johns     Dallas    TX
              John     Cook      Dallas    TX
              Nick     Roberts   Dallas    TX
 2015-12-11   Oliver   Ryan      New York  NY
              Michael  Best      New York  NY
              David    Holmes    New York  NY

如果有人知道如何做到这一点,请告诉我。谢谢。

1 个答案:

答案 0 :(得分:3)

技术堆栈中的每一层都有其优点和缺点。

至于mysql,请不要将其转换为报告引擎,如空白日期列所述,除了每个日期在日期块中间的某个位置,如图所示。订购的后续日期将变得混乱和困惑。

没错,可以使用稍微有趣的mysql 变量并将其转储到块的第一行。但是为了什么。

发挥mysql的优势,返回所有数据。并且有前端(coldfusion或其他),处理您希望输出的报告功能。