我只想选择max(ID)行,当我使用此SELECT选择它的工作正确并选择max(ID)直接并返回具有最大ID的max(ID)一行时
Vue.extend({})
但是当我使用其他更详细的SELECT语句时,它不起作用并返回所有行4行,不仅是max(id)行 这是我的select语句,如何使用max(id)并仅返回一行
select max(id)
FROM [LAB_CULTURE_RESULT]
where order_id = 1900001265
and testid = 1100
答案 0 :(得分:2)
因为您在做什么不是“正确”的答案。这里有几种选择:
--Using a CTE:
WITH CTE AS(
SELECT [ID]
,[SAMPLE_ID]
,[ORDER_ID]
,[TESTID]
,[SAMPLE_STATUS]
,[EXAMINED_BY]
,[EXAMINED_DATE]
,[APPROVED_BY]
,[APPROVED_DATE]
,[RESULT_NOTE]
,[MACHINE_ID]
,[DEPTID]
,[PATIENT_NO]
,[CUSTID]
,[REQ_FORM_NO]
,[PC_FILENO]
,[CULTURE_REPORT]
,[SAMPLE]
,[PUS_CELLS]
,[RED_CELLS]
,[YEAST_CELLS]
,[CLUE_CELLS]
,[RESULT_POSITIVE]
,[AMIKACIN]
,[AZTREONAM]
,[AMOXIXILLIN]
,[AMPICILLIN]
,[AMOXICLAV]
,[AZITHROMYCIN]
,[CEFIXIME]
,[CEFACLOR]
,[CEPHRADINE]
,[CEFTAZIDIME]
,[CEFUROXIME]
,[CEFOTAXIME]
,[CLINDAMYCIN]
,[CIPROFLOXACIN]
,[CLARITHROMYCIN]
,[CEFADROXIL]
,[CEFTRIAXONE]
,[TEICOPLANIN]
,[CEFEPIME]
,[CEFOXITIN]
,[GENTAMICIN]
,[LEVOFLOXACIN]
,[NORFLOXACIN]
,[OXACILLIN]
,[CARBENICILLIN]
,[PIPERACILLIN]
,[PEFLOXACIN]
,[TETRACYCLIN]
,[PENICILLIN]
,[VANCOMYCIN]
,[VIABLE_COLONY_COUNT]
,[UPDATED_BY]
,[UPDATED_DATE],
ROW_NUMBER() OVER (ORDER BY ID DESC) AS RN
FROM [LAB_CULTURE_RESULT]
WHERE order_id = 1900001265
AND testid = 1100)
SELECT *
FROM CTE
WHERE RN = 1;
--Using TOP 1 WITH TIES:
SELECT TOP 1 WITH TIES
[ID]
,[AZITHROMYCIN]
,[CEFIXIME]
,[CEFACLOR]
,[CEPHRADINE]
,[CEFTAZIDIME]
,[CEFUROXIME]
,[CEFOTAXIME]
,[CLINDAMYCIN]
,[CIPROFLOXACIN]
,[CLARITHROMYCIN]
,[CEFADROXIL]
,[CEFTRIAXONE]
,[TEICOPLANIN]
,[CEFEPIME]
,[CEFOXITIN]
,[GENTAMICIN]
,[LEVOFLOXACIN]
,[NORFLOXACIN]
,[OXACILLIN]
,[CARBENICILLIN]
,[PIPERACILLIN]
,[PEFLOXACIN]
,[TETRACYCLIN]
,[PENICILLIN]
,[VANCOMYCIN]
,[VIABLE_COLONY_COUNT]
,[UPDATED_BY]
,[UPDATED_DATE]
FROM [LAB_CULTURE_RESULT]
WHERE order_id = 1900001265
AND testid = 1100
ORDER BY ROW_NUMBER() OVER (ORDER BY ID DESC);
请注意,如果您期望多于1行(也许是每个order_id
的“最后”行),则需要在PARTITION BY
的{{1}}中添加{ {1}}功能。
答案 1 :(得分:1)
答案 2 :(得分:1)
您的查询返回其他列的每个唯一组合的最大ID,因此其行为符合预期。
如果只希望ID为最大值的行:
select
...
from mytable
where ID = (select max(ID) from mytable)
答案 3 :(得分:1)
select * from [LAB_CULTURE_RESULT] where id = ( select MAX( id ) from [LAB_CULTURE_RESULT])
答案 4 :(得分:1)
如果要获取插入到任何表中的最后一个ID(主键),则最好使用 IDENT_CURRENT 获取获取任何表中的最后一个ID。
GO
SELECT IDENT_CURRENT('Table1')
Go
答案 5 :(得分:-1)
u应该这样做:
select * from [LAB_CULTURE_RESULT] where id=(select max(id) from [LAB_CULTURE_RESULT] where order_id = 1900001265
and testid = 1100)