Duplikate auf bestimmte Anzahl begrenzen

ruutaiokwu

Top Contributor
Doppelte Einträge sollten max. 3x drin sein, gibt es eine bessere Lösung als das?

SELECT DISTINCT `et`.`code` FROM xyz et WHERE `et`.`timestamp` > (TIMESTAMPADD(SECOND, -15, NOW()))
UNION ALL
SELECT DISTINCT `et`.`code` FROM xyz et WHERE `et`.`timestamp` > (TIMESTAMPADD(SECOND, -15, NOW()))
UNION ALL
SELECT DISTINCT `et`.`code` FROM xyz et WHERE `et`.`timestamp` > (TIMESTAMPADD(SECOND, -15, NOW()))

Danke für die Feedbacks.
 

ruutaiokwu

Top Contributor
Nein ist auch keine Lösung, wenn es nur 1 oder 2x drin ist wird es ebenfalls auf 3 vervielfacht. Ab > 3 sollte auf 3 begrenzt werden, drunter sollte die real in der Tabelle hinterlegte Menge ausgegeben werden.
 

mihe7

Top Contributor
Handelt es sich bei den Einträgen um Duplikate (identische Zeitstempel) oder willst Du die max. drei jüngsten Einträge?
 

ruutaiokwu

Top Contributor
Leider wird nicht in Millisekunden gespeichert, deshalb haben die teilweise den gleichen Zeitstempel. Der Zeitstempel ist im Prinzip sowieso egal, mein vorgeschlagener Code ist eh nicht geeignet.

Ich will nur Duplikate aus dem Feld "code" max. 3 mal anzeigen lassen. Wenn mehr als 3x, dann wird auf 3 "gedeckelt".
 

mihe7

Top Contributor
Also etwas wie (MySQL-Syntax):
SQL:
SELECT DISTINCT `et`.`code` FROM xyz et WHERE `et`.`timestamp` > (TIMESTAMPADD(SECOND, -15, NOW())) LIMIT 3;
 

mihe7

Top Contributor
Ich will nur Duplikate aus dem Feld "code" max. 3 mal anzeigen lassen.
Ach, so.
Code:
mysql> select * from w;
+------+------+
| c    | n    |
+------+------+
| A    |    1 |
| A    |    1 |
| A    |    1 |
| A    |    1 |
| A    |    1 |
| B    |    1 |
| B    |    1 |
| C    |    1 |
| C    |    1 |
| C    |    1 |
| C    |    1 |
+------+------+
11 rows in set (0.00 sec)
SQL:
SELECT * FROM (
SELECT 
    CASE c WHEN @c THEN
            @curRow := @curRow + 1 
        ELSE @curRow := 1
    END as zeile,
    @c := c AS c
FROM w
JOIN (SELECT @curRow := 0, @c := min(c), @curType := '' FROM w) r) x
WHERE zeile < 4;
Ergebnis:
Code:
+-------+------+
| zeile | c    |
+-------+------+
|     1 | A    |
|     2 | A    |
|     3 | A    |
|     1 | B    |
|     2 | B    |
|     1 | C    |
|     2 | C    |
|     3 | C    |
+-------+------+
8 rows in set (0.00 sec)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L0MiN Wie kann ich eine bestimmte Seite aus verschiedenen Excel-Tabellen in eine neue Exceldatei kopieren? Datenbankprogrammierung 1
F Zugriff auf ein bestimmte Row Datenbankprogrammierung 13
E Wie kann man bestimmte Zeilen der Tabelle rot markieren? Datenbankprogrammierung 1
S HSQLDB Verbieten eines update auf eine bestimmte reihe Datenbankprogrammierung 4
S Werte aus Datenbank auslesen und in eine bestimmte Excelzelle eintragen Datenbankprogrammierung 2
W bestimmte Zeile mit bestimmter Spalte auslesen Datenbankprogrammierung 11
S Bestimmte Änderung in der Db rückgängig machen Datenbankprogrammierung 6
C PostgreSQL Anzahl der Spalten ermitteln Datenbankprogrammierung 2
A Maximale Anzahl offener Cursor überschritten Datenbankprogrammierung 5
OnDemand SQL Query Anzahl der Werte Datenbankprogrammierung 8
Kandum MySQL Anzahl gefundener Datensätze bleibt gleich, auch wenn mehr existieren und ausgegeben werden Datenbankprogrammierung 3
S Anzahl Datensätze in db4o Datenbankprogrammierung 2
N Prepared Statement mit unbekannter Anzahl von Where-Clauses Datenbankprogrammierung 30
B Die Anzahl der Datensaetze einer Datenbank anzeigen Datenbankprogrammierung 2
Guybrush Threepwood H2: Anzahl an Usern begrenzen Datenbankprogrammierung 2
I MySQL - Anzahl Tabellen heraus finden Datenbankprogrammierung 6
A Maximale Anzahl offener Cursor überschritten Datenbankprogrammierung 4
I Anzahl unterschiedlicher Datensätze ausgeben Datenbankprogrammierung 2
D Anzahl der Elemente im ResultSet ermitteln Datenbankprogrammierung 8
J Maximale Anzahl von char in SQL Datenbankprogrammierung 11
E Maximale Anzahl offener Cursor Datenbankprogrammierung 9
W Anzahl der Spalten eines ResultSets bestimmen Datenbankprogrammierung 5
A Maximale Anzahl offener Cursor erreicht Datenbankprogrammierung 3
Z Zeilen-Anzahl abfragen bei Datenbank Datenbankprogrammierung 4
G Anzahl der Datensaetze abfragen Datenbankprogrammierung 11
rambozola große anzahl an inserts bei oracle db unperformant Datenbankprogrammierung 15
S Anzahl geänderte Records Datenbankprogrammierung 2
V Anzahl der Datensätze abfragen Datenbankprogrammierung 9
B PreparedStatement - anzahl ParameterValues Datenbankprogrammierung 6
M Anzahl der Tabellen herausfinden Datenbankprogrammierung 6
M begrenzte anzahl von resultsets pro connection?? Datenbankprogrammierung 6
D Anzahl der zurückgelieferten Datensätze Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben