表的示例数据库,员工:
id market firstName
1 1 John
2 2 James
3 1 Sally
4 1 Mary
5 2 Susan
如果我写下以下查询,
SELECT firstName
FROM employees
WHERE market = 1
我将得到以下数组:
array("John", "Sally", "Mary")
我使用odbc连接到sql服务器,然后使用odbc_fetch_array检索结果。然而,我也希望提取最后一个firstName
的id
,例如:
array("John", "Sally", "Mary", 4)
我已经知道如何在两个查询中做到这一点,但我希望提高性能,如何在一个查询中实现这一点?
如果重要的话,我将使用odbc连接到sql服务器。
谢谢。
由于不能在数组中混合数据类型,因此我认为如果最后一个id以字符串形式返回,也可以。
在这种情况下,您可以使用UNION ALL:
SELECT firstName
FROM employees
WHERE market = 1
UNION ALL
SELECT CAST(MAX(id) AS varchar(31))
FROM employees
WHERE market = 1