1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Maximum eines Quotienten aus zwei Einträgen

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von meioo, 2 August 2010.

  1. meioo

    meioo Neuer Benutzer

    Hallo,
    ich habe eine Datenbank, wo ich unteranderem zwei integer Einträge habe (a und b). Nun möchte ich den/die identifier mit dem höchsten Quotienten ermitteln, die mit einem bestimmten Namen eingetragen sind.
    Ich habe folgendes versucht:
    Code:
    "SELECT IDENTIFIER FROM Database WHERE A = MAX((SELECT A FROM Database WHERE NAME = '"+name+"')/(SELECT B FROM Database WHERE NAME = '"+name+"')) AND NAME = '"+name+"'"
    
    bekomme damit aber leider eine "Invalid use of group function"-Exception.
    Kann mir bitte wer weiterhelfen.
    Vielen Dank!
    Grüße
     
  2. thomas_w

    thomas_w Datenbank-Guru

    AW: Maximum eines Quotienten aus zwei Einträgen

    Ich glaube, da geht eine Menge daneben.

    - Eine Datenbanktabelle kann nicht den Namen "Database" bekommen.
    - Die SQL-Syntax ist so nicht erlaubt

    Ich habe deshalb einen anderen Tabellennamen gewählt plus ein paar Testdaten

    Code:
    CREATE TABLE test_tabelle (
     a INT NOT NULL,
     b INT NOT NULL,
     identifier INT NOT NULL,
     name VARCHAR(50) NOT NULL
    );
     
    INSERT INTO test_tabelle VALUES
    ( 1, 1, 10, 'name-10'),
    ( 2, 2, 20, 'name-20'),
    ( 3, 3, 30, 'name-30');
    
    Eine Abfrage könnte nun so aussehen, wobei mir nicht wirklich klar geworden ist, was Du da machen möchtest.

    Code:
    SELECT identifier, MAX(a), MAX(b)
      FROM test_tabelle
     WHERE name = 'name-20'
    GROUP BY identifier; 
    +------------+--------+--------+
    | identifier | MAX(a) | MAX(b) |
    +------------+--------+--------+
    |         20 |      2 |      2 |
    +------------+--------+--------+
    1 row in set (0.00 sec)
    mysql>
    
    Grüße
    Thomas
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden