--Seth_Phelabaum_tsqlchallenge_20.sql /* ============================================================================================= CREATE DATE: 02/19/2010 LAST MODIFIED: 02/19/2010 CREATED BY: SETH PHELABAUM PURPOSE: T-SQL Challenge #20 NOTES: "Late", but I figured I had time since they're still behind on evaluations. ISSUES: Revision History: Date By Change Made -------- --- ------------------------------------- ============================================================================================= */ WITH Fibo AS ( SELECT 1 n, CAST(1 AS bigint) A, CAST(1 AS bigint) B UNION ALL SELECT n + 1, B, A+B FROM Fibo WHERE n < 91), Dupes AS ( SELECT A FiboNumber, CASE WHEN CAST(A AS varchar(20)) LIKE '%00%' THEN 1 ELSE 0 END + CASE WHEN CAST(A AS varchar(20)) LIKE '%11%' THEN 1 ELSE 0 END + CASE WHEN CAST(A AS varchar(20)) LIKE '%22%' THEN 1 ELSE 0 END + CASE WHEN CAST(A AS varchar(20)) LIKE '%33%' THEN 1 ELSE 0 END + CASE WHEN CAST(A AS varchar(20)) LIKE '%44%' THEN 1 ELSE 0 END + CASE WHEN CAST(A AS varchar(20)) LIKE '%55%' THEN 1 ELSE 0 END + CASE WHEN CAST(A AS varchar(20)) LIKE '%66%' THEN 1 ELSE 0 END + CASE WHEN CAST(A AS varchar(20)) LIKE '%77%' THEN 1 ELSE 0 END + CASE WHEN CAST(A AS varchar(20)) LIKE '%88%' THEN 1 ELSE 0 END + CASE WHEN CAST(A AS varchar(20)) LIKE '%99%' THEN 1 ELSE 0 END D FROM Fibo), Final AS (SELECT FiboNumber, D, ROW_NUMBER() OVER (PARTITION BY D ORDER BY FiboNumber) RN FROM Dupes) SELECT D NumRepeats, FiboNumber FROM Final WHERE D > 0 AND RN <6 ORDER BY D, RN
Did you find something incorrect/wrong with this solution? Take a few seconds to Report It.
Did you understand how this solution work? If you find it difficult to understand, you can Request an Explanation or you can Write an explanation to help others better understand this solution.