【问题标题】:SELECT a variable as condition and display another one选择一个变量作为条件并显示另一个
【发布时间】:2013-12-11 17:42:24
【问题描述】:

我的问题如下。

我想SELECT 最少的年份列表并显示我的表格的另一行。

一个例子:

SELECT MIN(Year) 
FROM table     -> Searching for the lowest year.

然后我希望它显示第一年的Winners

有没有办法在一行中做到这一点?

【问题讨论】:

  • 是的,但您必须分享有关您的表结构和示例数据的更多信息。
  • 顺便说一句,您可以将任何选择放在一行中。

标签: sql sql-server tsql select


【解决方案1】:
select winner from table where year in (select min(year) from table)

【讨论】:

    【解决方案2】:

    您需要在表和自身之间进行自联接(我想您想在单个语句中进行,而不是在单个中):

    SELECT A.*
        FROM table AS A
        JOIN ( SELECT MIN(Year) AS Year FROM table ) AS B
        ON (A.Year = B.Year);
    

    这假设在每个感兴趣的组中每个最小年份只有一条记录。

    【讨论】:

      【解决方案3】:

      试试看

      select t.columntoshow, min(t.year) from table t group by t.columntoshow
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-19
        • 1970-01-01
        • 2013-08-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多