Я использую эту функцию для своих проектов:
public static String minuteToTime(int minute) {
int hour = minute / 60;
minute %= 60;
String p = "AM";
if (hour >= 12) {
hour %= 12;
p = "PM";
}
if (hour == 0) {
hour = 12;
}
return (hour < 10 ? "0" + hour : hour) + ":" + (minute < 10 ? "0" + minute : minute) + " " + p;
}
Сделайте a SELECT
с a GROUP BY
пункт. Скажем, имя является столбцом, в котором Вы хотите найти дубликаты:
SELECT name, COUNT(*) c FROM table GROUP BY name HAVING c > 1;
Это возвратит результат со значением имени в первом столбце и количество того, сколько раз то значение появляется во втором.
SELECT ColumnA, COUNT( * )
FROM Table
GROUP BY ColumnA
HAVING COUNT( * ) > 1
Принятие Вашей таблицы называют TableABC и столбцом, который Вы хотите, столбец, и первичный ключ к T1 является Ключевым.
SELECT a.Key, b.Key, a.Col
FROM TableABC a, TableABC b
WHERE a.Col = b.Col
AND a.Key <> b.Key
Преимущество этого подхода по вышеупомянутому ответу - это, дает Ключ.
SELECT *
FROM mytable mto
WHERE EXISTS
(
SELECT 1
FROM mytable mti
WHERE mti.varchar_column = mto.varchar_column
LIMIT 1, 1
)
Этот запрос возвращает полные записи, не просто отличные varchar_column
.
Этот запрос не использует COUNT(*)
. Если существует много дубликатов, COUNT(*)
является дорогим, и Вам не нужно целое COUNT(*)
, просто необходимо знать, существует ли две строки с тем же значением.
Наличие индекса на varchar_column
конечно, ускорит этот запрос значительно.
SELECT varchar_col
FROM table
GROUP BY varchar_col
HAVING COUNT(*) > 1;