La position actuelle:Accueil du site>Chaîne de séparation MySQL
Chaîne de séparation MySQL
2022-05-15 05:40:48【Sirius 1222】
Utilisermysql À traiter Chaîne avec virgule,Par exemple,: “1,2,3,4,5”,En colonnes
1 |
2 |
3 |
4 |
5 |
Traitement:
J'ai cherché sur Internet,J'ai vérifié.,Il n'y a pas de moyen direct,Ça marche.help_topicTableau traité.Utiliserhelp_topicPour résoudre le problème du transfert de ligne et de colonne.
Souvent,:
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX('7654,7698,7782,7788',',',help_topic_id+1),',',-1) AS num
FROM
mysql.help_topic
WHERE
help_topic_id < LENGTH('7654,7698,7782,7788')-LENGTH(REPLACE('7654,7698,7782,7788',',',''))+1
Lancer à l'exécution locale,Erreur signalée:
Code d'erreur: 1142
SELECT command denied to user 'myDatabase' for table 'help_topic'
Au niveau localmysql J'ai vérifié. help_topic Tableaux
SELECT * FROM help_topic;
Ce qui correspondh_id . Modifier l'énoncé ci - dessus :
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX('7654,7698,7782,7788',',',h_id+1),',',-1) AS num
FROM
help_topic
WHERE
h_id < LENGTH('7654,7698,7782,7788')-LENGTH(REPLACE('7654,7698,7782,7788',',',''))+1
Obtenir les résultats souhaités.
Utilisation effective
Fiche d'information sur les liens :
CREATE TABLE `tache_info` (
`tch_id` bigint(20) NOT NULL COMMENT 'Liensid',
`person` varchar(4000) COMMENT 'Personnel de traitement.Plusieurs virgules séparées',
`created_date` datetime NULL DEFAULT NULL COMMENT ' Moment de création de la session ',
`finish_date` datetime NULL DEFAULT NULL COMMENT ' Fin de la session ',
PRIMARY KEY (`tch_id`)
) COMMENT = ' Fiche d'information sur les liens ' ;
Exigences: Selon le personnel, Statistiques sur la rétention des liens : Nombre total de liens de rétention 、 Durée moyenne du séjour ( Durée totale du séjour / Nombre total de liaisons )
Idées de traitement:
1, Traitement du personnel : Le personnel est tache_info À l'intérieur.personChamp, Il pourrait y avoir plusieurs personnes à l'intérieur. , Plusieurs séparés par des virgules , Changement de ligne requis , Comme ça. .
2, Calculer la durée du séjour : S'il reste ,finish_date C'est vide.,Avec “Heure actuelle- Temps de création de la phase ”:
mysql Calculer la différence de temps-En secondes
SELECT TIMESTAMPDIFF(SECOND,t.`begin_date`,t.`finish_date`) diff_sec
FROM tache_info t LIMIT 0 , 10;
Heure actuelle:
SELECT TIMESTAMPDIFF(SECOND,t.`begin_date`, NOW()) diff_sec
FROM tache_info t LIMIT 0 , 10;
Traitement:
Insérer des données:
INSERT INTO `tache_info` (`tch_id`, `person`, `created_date`, `finish_date`) VALUES('1','1','0822-05-08 14:46:39','0822-05-08 14:46:39');
INSERT INTO `tache_info` (`tch_id`, `person`, `created_date`, `finish_date`) VALUES('2','1','0822-05-08 14:46:42','0822-05-08 15:04:44');
INSERT INTO `tache_info` (`tch_id`, `person`, `created_date`, `finish_date`) VALUES('3','22,33','0822-05-08 15:04:44',NULL);
INSERT INTO `tache_info` (`tch_id`, `person`, `created_date`, `finish_date`) VALUES('4','44,55','0822-05-08 17:02:00',NULL);
INSERT INTO `tache_info` (`tch_id`, `person`, `created_date`, `finish_date`) VALUES('5','22,33','0822-05-08 17:02:00',NULL);
INSERT INTO `tache_info` (`tch_id`, `person`, `created_date`, `finish_date`) VALUES('6','44,55','0822-05-08 17:18:39',NULL);
INSERT INTO `tache_info` (`tch_id`, `person`, `created_date`, `finish_date`) VALUES('7','66,77','0822-05-08 17:45:07',NULL);
INSERT INTO `tache_info` (`tch_id`, `person`, `created_date`, `finish_date`) VALUES('8','55,66','0822-05-08 17:45:07',NULL);
INSERT INTO `tache_info` (`tch_id`, `person`, `created_date`, `finish_date`) VALUES('9','55,66,77','0822-05-08 17:48:06',NULL);
INSERT INTO `tache_info` (`tch_id`, `person`, `created_date`, `finish_date`) VALUES('10','55,66,33','0822-05-08 17:48:06',NULL);
Séparation des personnes et calcul du temps de rétention :
SELECT t.`tch_id`, t.`created_date`, t.`finish_date`,
TIMESTAMPDIFF(SECOND,t.`created_date`, NOW()) diff_sec,
SUBSTRING_INDEX(
SUBSTRING_INDEX(t.person,',',h_id + 1),',' ,- 1) deal_person
FROM
help_topic, tache_info t
WHERE h_id < (LENGTH(t.person)) - LENGTH(REPLACE (t.person, ',', '')) + 1
AND finish_date IS NULL;
Compter le nombre total de liens de rétention individuels 、 Durée moyenne du séjour ( Durée totale du séjour / Nombre total de liaisons ):
SELECT COUNT(DISTINCT tch_id), SUM(diff_sec)/COUNT(DISTINCT tch_id), deal_person FROM (
SELECT t.`tch_id`, t.`created_date`, t.`finish_date`, TIMESTAMPDIFF(SECOND,t.`created_date`, NOW()) diff_sec,
SUBSTRING_INDEX(
SUBSTRING_INDEX(t.person,',',h_id + 1),',' ,- 1) deal_person
FROM
help_topic, tache_info t
WHERE h_id < (LENGTH(t.person)) - LENGTH(REPLACE (t.person, ',', '')) + 1
AND finish_date IS NULL
) AS tch_group GROUP BY deal_person;
Résumé:
mysqlChaîne de séparation,À utiliserhelp_topic Les tableaux sont traités comme auxiliaires . Champs spécifiques , Écris - le en termes réels. .
Mentions de copyright
Auteur de cet article [Sirius 1222],Réimpression s’il vous plaît apporter le lien vers l’original, merci
https://fra.chowdera.com/2022/135/202205142240235641.html
Recommandé par sidebar
- Erreur de résolution de régression logique: valueerror: Solver lbfgs support only 'L2' or 'none' Penalties, got L1 penalty.
- Oracle OCI Computing, Storage, Network Tools designed to reduce Cloud Complexity
- Journal de bord du projet go [11e mise à jour du projet de la Décennie open source]
- Variables et opérateurs de script Shell
- Parler et trouver un emploi
- C'est la capacité, c'est la culture.
- Tensorflow Learning notes (5)
- Vitest prend en charge le workaround de cjs (scénario commun JS du produit Typescript)
- La réinstallabilité et l'équité des serrures de verrouillage dans les séries de programmation simultanées
- Discussion sur la relation entre Fiori Fundamentals et SAP ui5 Web Components
Devinez que vous aimez
RAM / FIFO Learning Review
La dernière version de 2022 est la version industrielle et commerciale ERP M7 V22. 0 version réseau du logiciel de gestion de la production financière pour l'achat, la vente et le stockage - système de gestion de la fabrication de groupe dans le cloud
[apprentissage automatique 05] régression Lasso et elasticnet
Raccourci idea
Recherche sur la création de fenêtres modales et non modales
[test de performance] chapitre 5 | installation de l'environnement jmeter
Guide d'utilisation de matplotlib, 100 cas du début à la fin! (code source joint)
Dots + Interval stats and geoms
Sigir2022 | recommandation de session basée sur les préférences des utilisateurs en matière de prix et d'intérêts
Cloudreve auto - construit Cloud disk Real station: la capacité et la vitesse sont déterminées par vous - même
Recommandé au hasard
- Construire un pool d'agents gratuits en utilisant la fonction Tencent Cloud
- Installation de redis et types de données de base
- Effet du graphique de rotation JS, mise en œuvre progressive de la transparence
- [stack + deep First Search] Bracket issue Summary
- Notes chapitre 1 Flux et fichiers (6) lecture aléatoire des fichiers et lecture zip des fichiers
- Votre base de données porte - t - elle vraiment un gilet pare - balles?
- Expérience 4 synchronisation et communication des processus
- Leetcode Tencent Selected Practice 50 questions - 557. Inverser le mot III dans la chaîne
- Questions de simulation complètes (y compris les réponses et l'analyse) pour l'Ingénieur en gestion de projet de l'intégration du système d'examen souple
- Cette API Alibaba TENCENT est utilisée pour gérer les artefacts et résoudre les problèmes de documentation
- La base théorique la plus solide du micro - service peut être considérée comme une excellente méthode mentale
- L'Octo, en tant que cadre de communication de service de haute performance du Groupe, peut - il être considéré comme un atout?
- Interview immersive: MySQL Serial gun, combien pouvez - vous combattre?
- Alibaba a demandé: quels modèles de limitation de courant les systèmes de l'entreprise ont - ils utilisés auparavant?
- Différences entre les logiciels ERP tels que faster software, Kingdee Software, UFIDA software, majordome software, dingjie Software et les logiciels d'importation et de vente
- P1439 [modèle] sous - séquence publique la plus longue
- Base de données MySQL (8): type de données - décimale
- Un homme de 38 ans qui vivait seul est mort.
- [freertos Task Recovery and pending]
- UDS - Comment réaliser la demande et la réponse du Service de diagnostic dans CAPL
- UDS - Comment implémenter la lecture du DTC et de son état dans CAPL
- Copier intelligemment tous les fichiers dans plusieurs dossiers à l'emplacement spécifié
- Clip vidéo, ajout de sous - titres SRT à une période de temps de la vidéo
- [SQL Union operator]
- Explication des principes de base des reptiles
- Huawei Device configure un VLAN Multicast Multi - à Multi - fonctions basé sur le VLAN utilisateur
- Copier la liste liée avec un pointeur aléatoire < facteur de difficulté>
- Quels sont les éléments exonérés de l'impôt sur le revenu des particuliers?
- NPM warn read shrinkwrap this version of NPM is compatible with [email protected] , mais package lock.
- Comment gérer la confidentialité des sources
- JVM (XVII) - - chargement du Code octet et de la classe (II) - - ensemble d'instructions du Code octet
- Anglais niveau 6 vocabulaire à haute fréquence sténographie + 2 décembre 2018 audition jour 04
- Configuration optimisée par ordinateur - win10
- Innovation Workshop Li Kaifu: la tendance la plus prometteuse de la Décennie est la technologie médicale
- Comprendre rapidement le CDN en mandarin
- L'apprentissage par petits échantillons n'est - il qu'une question d'auto - Salut universitaire?
- Déclarations communes à la base de données
- Learnopengl Learning Notes - Advanced Data
- La fonction de base de données interroge la base de données MySQL est un problème de temps correct
- Comment créer un nouveau menu en clic droit sous win10 en utilisant typora. Fichier MD