sql >> データベース >  >> RDS >> Sqlserver

各GROUPBY式には、外部参照ではない列が少なくとも1つ含まれている必要があります

    まず、これを行うことはできません:

    having rid!=MAX(rid)
    

    HAVING句には、集約グループの属性であるもののみを含めることができます。

    さらに、1, 2, 3 SQLServerのGROUPBYでは無効です-これはORDERBYでのみ有効だと思います。

    これがあなたが探しているものではない理由を説明できますか:

    select 
    LEFT(SUBSTRING(batchinfo.datapath, PATINDEX('%[0-9][0-9][0-9]%', batchinfo.datapath), 8000), PATINDEX('%[^0-9]%', SUBSTRING(batchinfo.datapath, PATINDEX('%[0-9][0-9][0-9]%', batchinfo.datapath), 8000))-1),
    qvalues.name,
    qvalues.compound,
    MAX(qvalues.rid)
     from batchinfo join qvalues on batchinfo.rowid=qvalues.rowid
    where LEN(datapath)>4
    group by LEFT(SUBSTRING(batchinfo.datapath, PATINDEX('%[0-9][0-9][0-9]%', batchinfo.datapath), 8000), PATINDEX('%[^0-9]%', SUBSTRING(batchinfo.datapath, PATINDEX('%[0-9][0-9][0-9]%', batchinfo.datapath), 8000))-1),
    qvalues.name,
    qvalues.compound
    


    1. 文字列が複数の行を占める場合、AndroidStudioはKotlinRoomDAOクエリをチェック/ハイライトしません

    2. MySQL ADD COLUMN

    3. plpgsql変数を使用してn_distinctを設定するときにエラーが発生しました

    4. Ruby-on-Railsで使用するためのWindowsへのPostgresのインストール